package com.atguigu;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisPool_Demo {
    private static JedisPool jedisPool = null;

    public static Jedis getJedis() {
        if (jedisPool==null){
            //主要配置
            JedisPoolConfig jedisPoolConfig =new JedisPoolConfig();
            jedisPoolConfig.setMaxTotal(10); //最大可用连接数
            jedisPoolConfig.setMaxIdle(5); //最大闲置连接数
            jedisPoolConfig.setMinIdle(5); //最小闲置连接数
            jedisPoolConfig.setBlockWhenExhausted(true); //连接耗尽是否等待
            jedisPoolConfig.setMaxWaitMillis(2000); //等待时间
            jedisPoolConfig.setTestOnBorrow(true); //取连接的时候进行一下测试 ping pong
            //获取连接池
            jedisPool = new JedisPool(jedisPoolConfig,"hadoop102",6379) ;
        }
        //获取客户端链接
        return jedisPool.getResource();
    }

    /**
     *
     *关闭连接池
     */
    public static void closePool(){
        if (jedisPool!=null){
            jedisPool.close();
        }
    }



    public static void main(String[] args) {
        //通过静态方法获取到Redis链接
        Jedis jedis = getJedis();

        //关闭链接
        jedis.close();

        //关闭链接
        closePool();
    }
}
